import java.util.Scanner;

class ArrayUtils{
	public static double findMax(double [] arr , int begin , int end)throws IllegalArgumentException{
		if(begin >= end)
			throw  new IllegalArgumentException("begin:"+ begin + " >= end:" + end)   ;
		if(begin < 0 )
			throw new IllegalArgumentException("begin:"+ begin + " < 0")  ;
		if(end > arr.length)
			throw new IllegalArgumentException("end:" + end + " > arr.length") ; 
		double max = arr[begin];
		for (int i = begin; i < end; i++) {
			if(arr[i] > max)
				max = arr[i] ;
		}
		return max ;
	}
}
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in) ;
		double data[] = new double [sc.nextInt()] ;
		for (int i = 0; i < data.length; i++) {
			data[i] = sc.nextDouble() ;
		}
		while(true){
			try{
				double max = ArrayUtils.findMax(data, Integer.parseInt(sc.next()), Integer.parseInt(sc.next())) ;
				System.out.println(max);
			}catch(NumberFormatException e){
				break ;
			}catch(IllegalArgumentException e){
				System.out.println(e);
			}catch(Exception e){
				
			}
		}
		try {
		     System.out.println(ArrayUtils.class.getDeclaredMethod("findMax", double[].class,int.class,int.class));
		} catch (Exception e1){}
	}
}
